#include "../app.h"
#define CLEAN_TIMEOUT 10
static void timer_out_handler(void *obj, int32_t val)
{
    lv_obj_t *label = (lv_obj_t *)obj;
    lv_label_set_text_fmt(label, "%02d", val);
    if (val == 0)
    {
        lv_obj_del_async(lv_obj_get_parent(label));
    }
}

// 直接设置顶层，叠加所有至上，不返回节点
lv_obj_t *app_clean_screen()
{
    lv_obj_t *bg = lv_obj_create(lv_layer_sys());
    lv_obj_set_style_pad_all(bg, 0, 0);
    lv_obj_set_style_border_width(bg, 0, 0);
    lv_obj_set_style_radius(bg, 0, 0);
    lv_obj_set_style_bg_color(bg, lv_color_black(), 0);
    lv_obj_set_style_bg_opa(bg, LV_OPA_100, 0);
    lv_obj_set_size(bg, APP_UI_W_MAX, APP_UI_H_MAX);
    lv_obj_set_pos(bg, 0, 0);
    // 禁止滑动
    lv_obj_clear_flag(bg, LV_OBJ_FLAG_SCROLL_CHAIN);

    lv_obj_t *label = lv_label_create(bg);
    lv_obj_set_style_pad_all(label, 0, 0);
    lv_obj_set_style_text_color(label, lv_color_hex(0x32333d), 0);
    lv_obj_set_style_text_font(label, get_lv_font_by_size(200 * APP_UI_H_ZOOM), 0);
    lv_label_set_text_fmt(label, "%02d", CLEAN_TIMEOUT);
    lv_obj_center(label);

    lv_obj_t *label1 = lv_label_create(bg);
    lv_obj_set_style_pad_all(label1, 0, 0);
    lv_obj_set_style_text_color(label1, lv_color_hex(0x32333d), 0);
    lv_obj_set_style_text_font(label1, get_lv_font_by_size(20 * APP_UI_H_ZOOM), 0);
    lv_obj_align(label1, LV_ALIGN_TOP_MID, 0, 20);
    lv_label_set_text_static(label1, "清屏模式执行中，无法进行任何其他操作");

    lv_anim_t a;
    lv_anim_init(&a);
    lv_anim_set_repeat_count(&a, 1);
    lv_anim_set_var(&a, label);
    lv_anim_set_exec_cb(&a, timer_out_handler);
    lv_anim_set_values(&a, CLEAN_TIMEOUT, 0);
    lv_anim_set_time(&a, CLEAN_TIMEOUT * 1000);
    lv_anim_start(&a);

    return NULL;
}
